package com.itheima.个人代码.IO流2;

import java.io.*;

public class Demo12 {
    public static void main(String[] args) throws IOException {
        //gbkwriter();
        //gbkreader();
        utf8reader();
        //utf8writer();

    }

    public static void utf8writer() throws IOException {
        //将内容以utf-8的编码方式存入文件中
        OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("IO流2和对象操作流properties\\stu.txt"), "UTF-8");
        String content = "它使用的字符集可以由名称指定，也可以被明确指定，或者可以接受平台的默认字符集";
        osw.write(content);
        osw.write(System.lineSeparator());
        osw.close();
    }

    public static void utf8reader() throws IOException {
        //将文件内容以utf-8的解码方式读取出来,如果文件的编码方式不一样,会乱码
        InputStreamReader isr = new InputStreamReader(new FileInputStream("IO流2和对象操作流properties\\stu.txt"), "utf-8");
        int len;
        while ((len = isr.read()) != -1) {
            System.out.print((char) len);
        }
        isr.close();
    }

    public static void gbkreader() throws IOException {
        //将文件中的内容以gbk的解码方式解码,如果文件的编码方式不一样,会乱码
        InputStreamReader isr = new InputStreamReader(new FileInputStream("IO流2和对象操作流properties\\stu.txt"), "GBK");
        int len;
        while ((len = isr.read()) != -1) {
            System.out.print((char) len);
        }
        isr.close();
    }

    public static void gbkwriter() throws IOException {
        //将内容以GBK的编码方式存入文件中
        OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("IO流2和对象操作流properties\\stu.txt"), "GBK");
        String content = "它使用的字符集可以由名称指定，也可以被明确指定，或者可以接受平台的默认字符集";
        osw.write(content);
        osw.write(System.lineSeparator());
        osw.close();
    }
}
